/**
 * 2010(c) Copyright Oceansoft Information System Co.,LTD. All rights reserved.
 * <p>
 * Compile: JDK 1.6+
 * <p>
 * 版权所有(C)：江苏欧索软件有限公司
 * <p>
 * 公司名称：江苏欧索软件有限公司
 * <p>
 * 公司地址：中国苏州科技城青山路1号
 * <p>
 * 网址: http://www.oceansoft.com.cn
 * <p>
 * 作者: 090922(陈伟)
 * <p>
 * 文件名: com.oceansoft.mobile.econsole.modules.api.controller.ApiSysController.java 
 * <p>
 * 类产生时间: 2014-7-23 0023 下午 17:04
 * <p>
 * 负责人: 090922(陈伟)
 * <p>
 * Email:javacspring@gmail.com
 * <p>
 * 所在组 : 掌上公安应用平台
 * <p>
 * 所在部门: 开发部--手持技术部
 * <p>
 * <p>
 */
package com.oceansoft.mobile.econsole.modules.api.controller;

import com.oceansoft.mobile.econsole.modules.api.service.IMattersService;
import com.oceansoft.mobile.econsole.modules.apps.entity.AppVersion;
import com.oceansoft.mobile.econsole.modules.apps.service.IAppVersionService;
import com.oceansoft.mobile.econsole.modules.base.controller.BaseController;
import com.oceansoft.mobile.econsole.modules.base.entity.Result;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

import static org.springframework.web.bind.annotation.RequestMethod.GET;
import static org.springframework.web.bind.annotation.RequestMethod.POST;

/**
 * 应用平台基础API
 *
 * @author: chenw
 * @time: 2014-7-23 0023 下午 17:04
 */
@RestController
@RequestMapping("api")
public class ApiSysController extends BaseController {

    @Resource
    private IAppVersionService appVersionService;

    @Resource
    private IMattersService mattersService;

    /**
     * 加载指定应用最新版本信息
     *
     * @param appId   应用ID
     * @param version 应用当前版本号(version code)
     * @return Result
     */
    @RequestMapping(value = "version/{appId}/{version}", method = GET)
    public Result loadAppUpgradeInfo(@PathVariable("appId") int appId, @PathVariable("version") int version) {
        return appVersionService.loadLastVersion(appId, version, getLocalHostIP());
    }
    
    /**
     * 加载ios最新版本信息(暂时)
     * @param appId
     * @param version
     * @return
     */
    @RequestMapping(value = "version/ios", method = GET)
    public Result loadIosAppUpgradeInfo() {
	    	return appVersionService.loadIosLastVersion();
    }

    /**
     * 查询应用历史版本信息
     *
     * @param appId 应用ID
     * @return Result
     */
    @RequestMapping(value = "version/history/{appId}", method = GET)
    public Result loadAppVersinHistory(@PathVariable("appId") int appId) {
        return appVersionService.loadAppVersionHistory(appId);
    }

    @RequestMapping(value = "feedback", method = POST)
    public Result feedback() {
        return null;
    }
}
